package com.example.papercut.service.impl;

import com.example.papercut.entity.AuthorInformation;
import com.example.papercut.entity.PapercutTemplate;
import com.example.papercut.mapper.AuthorInformationMapper;
import com.example.papercut.service.AuthorInformationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class AuthorInformationServiceImpl implements AuthorInformationService {

    private final AuthorInformationMapper authorMapper;

    @Autowired
    public AuthorInformationServiceImpl(AuthorInformationMapper authorMapper) {
        this.authorMapper = authorMapper;
    }

    @Override
    public AuthorInformation getAuthorDetails(Integer id) {
        // 业务逻辑：教育模块，直接获取作者详情
        return authorMapper.findAuthorDetailsById(id);
    }

    @Override
    public List<AuthorInformation> getAuthorsByStyleId(Integer styleId) {
        // 业务逻辑：获取特定派系的所有作者
        return authorMapper.findAuthorsByStyleId(styleId);
    }

    @Override
    public List<PapercutTemplate> getTemplatesByStyleId(Integer styleId) {
        // 业务逻辑：获取特定派系的所有模板。
        // 这里需要调用 Mapper 中实现联表查询的方法，
        // 假设 AuthorInformationMapper 内部已包含查询模板信息的方法（如 findTemplatesByStyleId）
        return authorMapper.findTemplatesByStyleId(styleId);
    }
}